[IA64] Fix hyper_get_psr
authorAlex Williamson <alex.williamson@hp.com>
Thu, 12 Apr 2007 16:26:42 +0000 (10:26 -0600)
committerAlex Williamson <alex.williamson@hp.com>
Thu, 12 Apr 2007 16:26:42 +0000 (10:26 -0600)
It didn't return correct psr.i value.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/xen/hyperprivop.S

index 0510554ae8d5c7f6e25a571eb796e3984887231f..2fe754cb86d67b32d9d34a7c2f055db08dde0475 100644 (file)
@@ -1526,8 +1526,10 @@ ENTRY(hyper_get_psr)
        adds r20=XSI_PSR_I_ADDR_OFS-XSI_PSR_IC_OFS,r18 ;;
        ld8 r20=[r20];;
        ld1 r21=[r20];;
-       dep r8=r21,r8,IA64_PSR_I_BIT,1
+       cmp.eq p8,p9=r0,r21
        ;;
+(p8)   dep r8=-1,r8,IA64_PSR_I_BIT,1
+(p9)   dep r8=0,r8,IA64_PSR_I_BIT,1
        // set vpsr.dfh
        adds r20=XSI_VPSR_DFH_OFS-XSI_PSR_IC_OFS,r18;;
        ld1 r21=[r20];;